ConnWifi={}
ConnWifi.ConnTimeOut=5 --wifi连接超时运行UserAP模式
ConnWifi.ConnNum=0 --wifi连接计数
ConnWifi.userRunFileUrl="userRunMqtt.lua" --wifi连接成功后运行

--wifi连接配置，连接到路由器运行
ConnWifi.ConnWifiRun= function () --连接到路由器函数
    wifi.setmode(wifi.STATION) --设置wifi模式
    local wifiConConfig={} --创建配置信息文件
    if file.open(BootProcessVar.UserWifiConnConfig) then  --打开配置文件
        local finfo =file.read()
        print("finfo"..finfo)
        wifiConConfig= sjson.decode(finfo)
        file.close()
        print("Read Wifi Config File End.")    
        local wifiCfg ={}
        wifiCfg.ssid=wifiConConfig.ssid
        wifiCfg.pwd=wifiConConfig.pwd
        wifi.sta.config(wifiCfg)
        wifi.sta.connect()
        print("Wifi Conn...")  
    end
end


ConnWifi.ConnWifi = function ()
    if wifi.sta.getip() == nil then
        print('Waiting for IP ...') 
        if ConnWifi.ConnNum >= ConnWifi.ConnTimeOut then  --如果连续获取IP失败，则关闭定时器，移除WiFi连接配置。初始化wifi热点模式
            TmrObj.WifiConnTrm:unregister()
            ConnWifi.WifiConnFunRemove()
            dofile("InitWifiMode.lua")
        end
        ConnWifi.ConnNum=ConnWifi.ConnNum+1
    else --wifi连接成功后配置
        local userRunFileUrl =""
        print('IP is ' .. wifi.sta.getip())
        TmrObj.WifiConnTrm:unregister()-- 连上了wifi就停止定时器连接
        userRunFileUrl= ConnWifi.userRunFileUrl
        ConnWifi=nil --连接成功后清除计数变量
        --wifi.sta.autoconnect(1) --开启自动连接
        dofile(userRunFileUrl) --wifi连接成功后运行文件

        
    end
end

ConnWifi.WifiConnMode= function ()
    ConnWifi.ConnWifiRun() --开始连接WiFi配置
    collectgarbage("collect") --回收之前的内存
    TmrObj.WifiConnTrm:register(3000, tmr.ALARM_AUTO,ConnWifi.ConnWifi) --定时器注册，获取IP地址
    TmrObj.WifiConnTrm:start() --定时器启动
end 

ConnWifi.WifiConnFunRemove=function ()
    funcObj.ConnWifiRun=nil
end
ConnWifi.WifiConnMode()
